package com.yuncheng.spcyApi.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuncheng.spcyApi.bo.UserPxjlBo;
import com.yuncheng.spcyApi.entity.SysUserPxjl;
import com.yuncheng.common.base.service.BaseService;
import com.yuncheng.spcyApi.vo.common.OrderItemVo;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * @Description: 系统-用户培训记录
 * @Author: csx
 * @Date: 2023-03-03
 * @Version: V1.0
 */
public interface ISysUserPxjlService extends BaseService<SysUserPxjl> {
    /**
     * 分页查询
     * @param page
     * @param sysUserPxjl
     * @param year
     * @param isSelectMe 是否查询个人
     * @return
     */
    IPage getPageList(Page<SysUserPxjl> page, UserPxjlBo sysUserPxjl, String year, boolean isSelectMe, OrderItemVo orderItemVo);

    /**
     * 查询培训记录列表
     * @param sysUserPxjl
     * @param year 年度
     * @param isSelectMe 是否查询个人
     * @return
     */
    List<SysUserPxjl> getList(UserPxjlBo sysUserPxjl, String year, boolean isSelectMe);

    /**
     * 批量新增培训记录
     */
    void saveBatchPxjl(List<SysUserPxjl> pxjlList);

    /**
     *  获取用户本年度学时
     */
    String getTotalLearningHoursTheCurrentYear(String userid,String year);


    /** 新增培训记录 */
    SysUserPxjl addPxjl(SysUserPxjl pxjl);

    // 更新培训记录
    void updatePxjl(SysUserPxjl buffer) throws InvocationTargetException, IllegalAccessException, NoSuchMethodException;
}
